﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.IO;

namespace PrototipoMVC3IU.Controllers
{
    public class SolicitudesController : Controller
    {
        //
        // GET: /Solicitudes/

        public ActionResult SolicitarTarjeta()
        {
            return View();
        }

        [HttpPost]
        public ActionResult SolicitarTarjeta(FormCollection Collection)
        {
            Random Azar = new Random();
            string ButtonClick = Collection["ButtonClick"].ToString();
            switch (ButtonClick) 
            {
                case "Solicitar":
                    TempData["NombreCliente"] = Collection["Nombre"].ToString();
                    TempData["NumeroSolicitud"] = (Azar.Next()+1).ToString();
                    return RedirectToAction("SolicitudConfirmacion");
                case "Volver":
                    return RedirectToAction("Inicio","Inicio");
                default:
                    return View();
            }
        }

        public ActionResult SolicitudConfirmacion() 
        {
            ViewData["NombreCliente"] = TempData["NombreCliente"];
            ViewData["NumeroSolicitud"] = TempData["NumeroSolicitud"];
            return View();
        }

        [HttpPost]
        public ActionResult SolicitudConfirmacion(FormCollection Collection) 
        {
            string ButtonClick = Collection["ButtonClick"].ToString();
            switch (ButtonClick)
            {
                case "Volver":
                    return RedirectToAction("Inicio", "Inicio");
                default:
                    return View();
            }
        }

        public string AJAX_SubirArchivo()
        {
            HttpPostedFileBase Archivo = Request.Files[0];
            if (Archivo.ContentLength > 0)
            {
                var NombreArchivo = Path.GetFileName(Archivo.FileName);
                var Ruta = Path.Combine(Server.MapPath("~/Archivo/ParaSubir"), NombreArchivo);
                Archivo.SaveAs(Ruta);
                string cd = char.ConvertFromUtf32(34); // obtener comilla doble desde codigo ASCII.
                string Prompt = Request.ApplicationPath;
                string Respuesta = "OK";
                string Delimitador = "<##>";
                string LinkDescarga = "<a href=" + cd + Prompt + "/Utilidades/DescargarArchivo?NombreArchivo=" + NombreArchivo + cd + ">Descargar..." + NombreArchivo + "</a>";
                return Respuesta +
                       Delimitador +
                       LinkDescarga;
            }
            else
            {
                string Respuesta = "LEN0";
                string Delimitador = "<##>";
                string Ruta = "(No hay Archivo)";
                string NombreArchivo = "(No hay Archivo)";
                return Respuesta +
                       Delimitador +
                       Ruta +
                       Delimitador +
                       NombreArchivo;
            }
        }
    }
}
